進入畫面如果讓使用者可以看到目前活動的海報或是主打商品,會很容易吸引使用者目光;就像是受到極度驚嚇的瞬間,腦袋會出現的連續畫面,再次清醒都會讓人印象深刻,Swiper 就是運用這樣的概念讓網頁的內容注入生命和神奇。
對我來說, Swiper 就是一種人生走馬燈,就拿先前準備上戰場 DEMO,在大主管面前點選鏈接突然噴出 500 ,重新整理改噴 404 ,腦袋瞬間閃過無數奇怪的畫面一樣...嗯!我瞬間看到我阿嬤了...
Swiper 就像一位魔法師,能夠創造出令人著迷的滑動特效和幻燈片,把內容變成了一場奇幻的表演,誘惑人眼多在畫面停留幾秒鐘,話不多說,就讓我們一起把網頁上動起來吧!
進入官網在上方導覽的 Docs 選項中有 Getting Started,點擊後可以看到三種安裝方法,這裡選用 npm 安裝
npm install swiper
Swiper (The Most Modern Mobile Touch Slider)
https://swiperjs.com/
如果在 Vue 3 + Vite 項目中使用 Swiper ,通常情況下不需要在 main.js
中全局引入 Swiper,只需要把 CSS 和 JavaScript 文件直接在 Vue 組件的 <script setup>
區塊中引入,就可以引入並初始化 Swiper 實例。這種方式更具靈活性,畢竟每個組件可以單獨配置和使用 Swiper ,也才不會互相打架。
import Swiper from 'swiper'; // import Swiper JS
import 'swiper/css'; // import Swiper styles
🤯 如果怎麼開始都不行的時候,可以藉由 Swiper DEMO 來試試看,因為我就是這樣練習的!真的超好用的方法!
點擊以下鏈接,進入 DEMO 頁面
隨意選擇一個你喜歡的
進入編輯畫面,在 scr > App.vue 可以看到自己選擇的範例程式碼
這裡只要依照步驟執行,就可以看到畫面,萬一真的還是不行!就先睡覺,睡醒再重新走上面的 DEMO 流程,就會出現想看到的結果!
.swiper {
width: 100%;
height: 100%;
}
.swiper-slide img {
display: block;
width: 100%; // 給圖片寬度
height: 100%; // 給圖片高度
object-fit: cover; // 讓圖片剛好填滿 Swiper 的板模
}
<template>
<swiper
:loop="true"
:pagination="{ clickable: true }"
:navigation="navigation"
:modules="modules"
:autoplay="{
delay: 2000,
disableOnInteraction: false
}"
class="mySwiper"
>
<swiper-slide>
<img
src="..img1.jpg"
alt=""
/>
</swiper-slide>
...
<div class="swiper-button-prev"/>
<div class="swiper-button-next" />
</swiper>
</template>
<script setup>
import { ref } from 'vue';
import { Swiper, SwiperSlide } from 'swiper/vue'; // Import Swiper Vue.js components
import 'swiper/css'; // Import Swiper styles
import 'swiper/css/navigation'; // Swiper 底下圓點
import 'swiper/css/pagination'; // Swiper 左右箭頭
import { Autoplay, Navigation, Pagination } from 'swiper/modules'; // import required modules
const modules = ref([Autoplay, Navigation, Pagination]);
const navigation = ref({
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev'
});